from decimal import Decimal

#浮点数的精度也就是小数点后的位数不确定，所以不能对浮点数进行精确的计算
print(0.3 + 0.3 + 0.3 + 0.1) #0.9999999999999999

#所以我们用字符串类型的小数类型的数据来保证它就是0.3，小数点后的位数是确定的
print(Decimal('0.3') + Decimal('0.3') + Decimal('0.3') + Decimal('0.1'))

#所以用浮点数转换为小数类型，也不是很准确，因为浮点数本身的小数点后面的位数是不确定的
print(Decimal(0.3) + Decimal(0.3) + Decimal(0.3) + Decimal(0.1))

#小数类型的数据是不能和其他类型的数据进行运算的，只能和小数类型的数据进行运算
#print(Decimal('0.3') + 0.3)